From: kfraser@localhost.localdomain Date: Thu, 15 Mar 2007 10:38:58 +0000 (+0000) Subject: x86: 32on64 oversight in update_va_mapping X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15289^2~1 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=462eb0fc0efe4b24088ef0c74916dd691dcd2db0;p=xen.git x86: 32on64 oversight in update_va_mapping Signed-off-by: Jan Beulich --- diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index b37ade4cb3..1c65070d15 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2768,7 +2768,9 @@ int do_update_va_mapping(unsigned long va, u64 val64, flush_tlb_one_mask(d->domain_dirty_cpumask, va); break; default: - if ( unlikely(get_user(vmask, (unsigned long *)bmap_ptr)) ) + if ( unlikely(!IS_COMPAT(d) ? + get_user(vmask, (unsigned long *)bmap_ptr) : + get_user(vmask, (unsigned int *)bmap_ptr)) ) rc = -EFAULT; pmask = vcpumask_to_pcpumask(d, vmask); flush_tlb_one_mask(pmask, va);